package com.smart.service.util.seteA;

import com.smart.service.util.UtilCard;
import com.smart.service.util.exception.CardException;

public class ValidatorMastercard implements CardValidator7A {


	@Override
	public boolean validateNumber(String numero, String validade) throws CardException {
		
		String formatado = UtilLogicCard.validateFormat(numero, validade);

		// tamanho 16, prefixos 51
		// a 55
		if ((formatado.startsWith("51") || formatado.startsWith("52")
				|| formatado.startsWith("53") || formatado.startsWith("54") || formatado
					.startsWith("55")) && formatado.length() == 16) {
		} else {
			throw new CardException(UtilCard.CARTAO_ERRO);
		}

		return UtilLogicCard.luhnValidation(formatado);
	}

}
